package com.springboot.context;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * CommandLineRunner:
 * 指示包含在 SpringApplication 中的 Bean 要执行的代码。
 * 在同一应用程序上下文中可以定义多个 CommandLineRunner，并且可以使用 Ordered 接口或 @Order 注解对其进行排序。
 * 跟 ApplicationRunner 区别在于访问的是原始 String 数组而非 ApplicationArguments 参数。
 *
 * @author yexi
 */
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class CommandLineRunnerDemo implements CommandLineRunner {

    @Override
    public void run(String... args) {
        System.out.println("CommandLineRunner: 在SpringApplication运行时会执行的代码1");
    }
}
